home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / GIMP 2.6.8 / gimp-2.6.8-i686-setup.exe / {app} / share / gimp / 2.0 / scripts / i26-gunya2.scm < prev    next >
Text File  |  2009-12-15  |  5KB  |  107 lines

  1. ;;; i26-gunya2.scm -*-scheme-*-
  2. ;;; Time-stamp: <1997/05/11 18:46:26 narazaki@InetQ.or.jp>
  3. ;;; Author: Shuji Narazaki (narazaki@InetQ.or.jp)
  4. ; ************************************************************************
  5. ; Changed on Feb 4, 1999 by Piet van Oostrum <piet@cs.uu.nl>
  6. ; For use with GIMP 1.1.
  7. ; All calls to gimp-text-* have been converted to use the *-fontname form.
  8. ; The corresponding parameters have been replaced by an SF-FONT parameter.
  9. ; ************************************************************************
  10.  
  11. ;;; Comment:
  12. ;;;  This is the first font decoration of Imigre-26 (i26)
  13. ;;; Code:
  14.  
  15. (define (script-fu-i26-gunya2 text text-color frame-color font font-size frame-size)
  16.   (let* (
  17.         (img (car (gimp-image-new 256 256 RGB)))
  18.         (border (/ font-size 10))
  19.         (text-layer (car (gimp-text-fontname img -1 0 0 text (* border 2)
  20.                                              TRUE font-size PIXELS font)))
  21.         (width (car (gimp-drawable-width text-layer)))
  22.         (height (car (gimp-drawable-height text-layer)))
  23.         (dist-text-layer (car (gimp-layer-new img width height RGBA-IMAGE
  24.                                               "Distorted text" 100 NORMAL-MODE)))
  25.         (dist-frame-layer (car (gimp-layer-new img width height RGBA-IMAGE
  26.                                                "Distorted text" 100 NORMAL-MODE)))
  27.         (distortion-img (car (gimp-image-new width height GRAY)))
  28.         (distortion-layer (car (gimp-layer-new distortion-img width height
  29.                                                GRAY-IMAGE "temp" 100 NORMAL-MODE)))
  30.         (radius (/ font-size 10))
  31.         (prob 0.5)
  32.         )
  33.  
  34.     (gimp-context-push)
  35.  
  36.     (gimp-image-undo-disable img)
  37.     (gimp-image-undo-disable distortion-img)
  38.     (gimp-image-resize img width height 0 0)
  39.     (gimp-image-add-layer img dist-text-layer -1)
  40.     (gimp-image-add-layer img dist-frame-layer -1)
  41.     (gimp-image-add-layer distortion-img distortion-layer -1)
  42.     (gimp-selection-none img)
  43.     (gimp-edit-clear dist-text-layer)
  44.     (gimp-edit-clear dist-frame-layer)
  45.     ;; get the text shape
  46.     (gimp-selection-layer-alpha text-layer)
  47.     ;; fill it with the specified color
  48.     (gimp-context-set-foreground text-color)
  49.     (gimp-edit-fill dist-text-layer FOREGROUND-FILL)
  50.     ;; get the border shape
  51.     (gimp-selection-border img frame-size)
  52.     (gimp-context-set-background frame-color)
  53.     (gimp-edit-fill dist-frame-layer BACKGROUND-FILL)
  54.     (gimp-selection-none img)
  55.     ;; now make the distortion data
  56.     (gimp-context-set-background '(255 255 255))
  57.     (gimp-edit-fill distortion-layer BACKGROUND-FILL)
  58.     (plug-in-noisify RUN-NONINTERACTIVE distortion-img distortion-layer FALSE prob prob prob 0.0)
  59.     (plug-in-gauss-rle RUN-NONINTERACTIVE distortion-img distortion-layer radius 1 1)
  60.     (plug-in-c-astretch RUN-NONINTERACTIVE distortion-img distortion-layer)
  61.     (plug-in-gauss-rle RUN-NONINTERACTIVE distortion-img distortion-layer radius 1 1)
  62.     ;; OK, apply it to dist-text-layer
  63.     (plug-in-displace RUN-NONINTERACTIVE img dist-text-layer radius radius 1 1
  64.                       distortion-layer distortion-layer 0)
  65.     ;; make the distortion data once again fro the frame
  66.     (gimp-edit-fill distortion-layer BACKGROUND-FILL)
  67.     (plug-in-noisify RUN-NONINTERACTIVE distortion-img distortion-layer FALSE prob prob prob 0.0)
  68.     (plug-in-gauss-rle RUN-NONINTERACTIVE distortion-img distortion-layer radius 1 1)
  69.     (plug-in-c-astretch RUN-NONINTERACTIVE distortion-img distortion-layer)
  70.     (plug-in-gauss-rle RUN-NONINTERACTIVE distortion-img distortion-layer radius 1 1)
  71.     ;; then, apply it to dist-frame-layer
  72.     (plug-in-displace RUN-NONINTERACTIVE img dist-frame-layer radius radius 1 1
  73.                       distortion-layer distortion-layer 0)
  74.     ;; Finally, clear the bottom layer (text-layer)
  75.     (gimp-selection-all img)
  76.     (gimp-context-set-background '(255 255 255))
  77.     (gimp-edit-fill text-layer BACKGROUND-FILL)
  78.     ;; post processing
  79.     (gimp-image-set-active-layer img dist-text-layer)
  80.     (gimp-selection-none img)
  81.     (gimp-image-undo-enable img)
  82.     (gimp-image-delete distortion-img)
  83.     (gimp-display-new img)
  84.  
  85.     (gimp-context-pop)
  86.   )
  87. )
  88.  
  89.  
  90. (script-fu-register "script-fu-i26-gunya2"
  91.   _"Imigre-_26..."
  92.   _"Create a logo in a two-color, scribbled text style"
  93.   "Shuji Narazaki"
  94.   "Shuji Narazaki"
  95.   "1997"
  96.   ""
  97.   SF-STRING     _"Text"               "GIMP"
  98.   SF-COLOR      _"Text color"         "red"
  99.   SF-COLOR      _"Frame color"        '(0 34 255)
  100.   SF-FONT       _"Font"               "Becker"
  101.   SF-ADJUSTMENT _"Font size (pixels)" '(100 2 1000 1 10 0 1)
  102.   SF-ADJUSTMENT _"Frame size"         '(2 1 20 1 5 0 1)
  103. )
  104.  
  105. (script-fu-menu-register "script-fu-i26-gunya2"
  106.                          "<Image>/File/Create/Logos")
  107.